package com.haowu.customer.api;

import com.haowu.common.core.exception.user.UserException;
import com.haowu.customer.api.model.LoginCustomer;
import com.haowu.customer.api.model.XcxLoginCustomer;
import com.haowu.customer.api.domain.HwAppAccount;

/**
 * 用户服务
 *
 * @author Lion Li
 */
public interface RemoteCustomerService {

    /**
     * 通过用户名查询用户信息
     *
     * @param username 用户名
     * @return 结果
     */
    LoginCustomer getCustomerInfo(String username) throws UserException;

    /**
     * 通过手机号查询用户信息
     *
     * @param phonenumber 手机号
     * @return 结果
     */
    LoginCustomer getCustomerInfoByPhonenumber(String phonenumber) throws UserException;

    /**
     * 通过openid查询用户信息
     *
     * @param openid openid
     * @return 结果
     */
    XcxLoginCustomer getCustomerInfoByOpenid(String openid) throws UserException;

    /**
     * 注册用户信息
     * @param account 用户信息
     * @return 结果
     */
    Boolean registerCustomer(HwAppAccount account);

}
